home *** CD-ROM | disk | FTP | other *** search
- /*============================= MiscUKUTMCoord.m ============================*/
- /* MiscUKUTMCoord class contains and supports values representing locations
- in the UK National Grid Universal Transverse Mercator coordinate system
- as of March 1983.
-
- DMA Release 0.8, Copyright @1993 by Genesis Project, Ltd. All Rights
- Reserved. For further information on terms and conditions see:
- Documentation/GISKit/Agreements-Legal-README
-
- HISTORY
- 26-Mar-93 Dale Amon at GPL
- Created.
- */
-
- #import <misckit/miscgiskit.h>
-
- @implementation MiscUKUTMCoord
-
- /*===========================================================================*/
- /* Internal methods */
- /*===========================================================================*/
-
- static id theUKGrid = nil;
-
- + makeGrid
- {
- if (!theUKGrid)
- {theUKGrid = [[MiscUTMConstants allocFromZone: [self zone]]
- initGridName: "UK National Grid"
- trueOrigin: 49.0 : -2.0
- inGrid: 400000.0 : -100000.0
- onSphere: 6377563.396 : 6356256.910
- centralMeridianScaling: 0.9996012717];
- [theUKGrid setProtected];
- }
- return theUKGrid;
- }
-
-
- /*===========================================================================*/
- /* Initialization methods. If we don't already have a UTM constants object
- for the UK National Grid, create one instance that all will share and that
- cannot be deleted.
-
- Constants are from the UK Ordinance Survey document, "Transverse Mercator
- Projection, Constants, Formula and Methods", March 1983
-
- */
- /*===========================================================================*/
- /* DESIGNATED INITIALIZER */
-
- -initDescription: (char *) txt
- {return [super initDescription: txt constants: [MiscUKUTMCoord makeGrid]];}
-
-
- /*---------------------------------------------------------------------------*/
- /* Block the designated initializer of our parent class */
-
- -initDescription: (char *) txt constants: anObject
- { [self error:" %s class should not be sent '%s' messages\n",
- [[self class] name], sel_getName(_cmd)];
- return self;
- }
-
-
- /*===========================================================================*/
- /* Archive methods */
- /*===========================================================================*/
- - awake
- { [super awake];
- [constants setUnprotected];
- [constants free];
- [MiscUKUTMCoord makeGrid];
- return self;
- }
-
- @end
-